The invention relates to the processing of messages and more particularly to the location of elements within a message.
In a messaging environment, a message producer sends messages to a message consumer, via a messaging system such as one available from IBM Corporation.
One or more mediation service applications may be located within the message processing environment. These intercept and modify messages that are passed between producers and consumers. Thus a mediation may produce a somewhat modified version of an input message as output, where the modification may be to contextual information regarding the routing of the message, the message content, or read-only in the case of a logging or monitoring mediation (mediation processing node computer processor).
Mediation implementations require access to some part of the message content in order to perform their function. Typically mediations are given the entire message in some native or canonical format, and left to determine for themselves which parts of the message are to be read and modified. Each mediation implementation is therefore sensitive to the structure of the message given to it, and may have to have specific code to deal with messages from different sources. Such code indicates the location of each element defined by a particular message format. Further, it is not known in advance which values a mediation requires and/or updates.
A mediation typically has a number of properties, for example values that may be set to indicate information that a mediation requires in order to perform its processing. Injection is a term of the art which covers the setting of the mediation properties from values that are determined by the runtime based on metadata associated with that mediation. Usually these injected properties represent configuration parameters or references to other objects (e.g. other Enterprise Java™ Beans) that a mediation processing node's runtime creates. (Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.)
The Enterprise Bean Programming Model 2.0 allows an EJB object to comprises a number of properties which may be retrieved and updated. The EJB object may be persisted in the form of a database record. Equally the database record may be reconstituted into the EJB object. The aim is to achieve synchronization between the two. It is however not possible to deduce upfront which of the EJB properties are going to be updated.
U.S. Pat. No. 6,636,855 discloses a system for processing a data flow. Input mappings are provided for extracting values to act as input parameters to a stored procedure. Output mappings are also provided which describe how to supplement a message with output parameters returned from a stored procedure.